﻿#include "VectorOperation.h"


CString WHE::ToString(EMaterialVectorOperationType InType)
{
    switch(InType)
    {
        case EMaterialVectorOperationType::Add:
            return U"分量相加";
        case EMaterialVectorOperationType::Subtract:
            return U"分量相减";
        case EMaterialVectorOperationType::Multiply:
            return U"分量相乘";
        case EMaterialVectorOperationType::Divide:
            return U"分量除法";
        case EMaterialVectorOperationType::AddAfterMultiply:
            return U"分量相乘后相加";
        case EMaterialVectorOperationType::CrossProduct:
            return U"叉乘";
        case EMaterialVectorOperationType::DotProduct:
            return U"点乘";
        case EMaterialVectorOperationType::Project:
            return U"投影";
        case EMaterialVectorOperationType::Reflect:
            return U"反射";
        case EMaterialVectorOperationType::Refract:
            return U"折射";
        case EMaterialVectorOperationType::FaceForward:
            return U"面朝向";
        case EMaterialVectorOperationType::Distance:
            return U"距离";
        case EMaterialVectorOperationType::Normalize:
            return U"归一化";
        case EMaterialVectorOperationType::Length:
            return U"长度";
        case EMaterialVectorOperationType::Scale:
            return U"缩放";
        case EMaterialVectorOperationType::Absolute:
            return U"取绝对值";
        case EMaterialVectorOperationType::Minimum:
            return U"取最小值";
        case EMaterialVectorOperationType::Maximum:
            return U"取最大值";
        case EMaterialVectorOperationType::Floor:
            return U"向下取整";
        case EMaterialVectorOperationType::Ceil:
            return U"向上取整";
        case EMaterialVectorOperationType::Fraction:
            return U"取小数部分";
        case EMaterialVectorOperationType::Round:
            return U"四舍五入";
        case EMaterialVectorOperationType::Mod:
            return U"求余";
        case EMaterialVectorOperationType::Loop:
            return U"循环";
        case EMaterialVectorOperationType::Snap:
            return U"吸附";
        case EMaterialVectorOperationType::Sin:
            return U"正弦";
        case EMaterialVectorOperationType::Cos:
            return U"余弦";
        case EMaterialVectorOperationType::Tan:
            return U"正切";
        default:
            assert(false);
            return U"未命名";
    }
}